home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / SmallEiffel 0.3.3 / SmallEiffel 68k / lib_test / bug_eval20.e < prev    next >
Encoding:
Text File  |  1996-06-13  |  2.5 KB  |  115 lines  |  [TEXT/EDIT]

  1. -- Part of SmallEiffel -- Read DISCLAIMER file -- Copyright (C) 
  2. -- Dominique COLNET and Suzanne COLLIN -- colnet@loria.fr
  3. --
  4. class TEST_EVAL20
  5.  
  6. creation make
  7.    
  8. feature 
  9.  
  10.      array_animal: ARRAY[ANIMAL];
  11.      array_quadruped: ARRAY[QUADRUPED];
  12.      array_real: ARRAY[REAL];
  13.      array_double: ARRAY[DOUBLE];
  14.      array_any: ARRAY[ANY];
  15.      array_character: ARRAY[CHARACTER];
  16.         cat: CAT;
  17.      dog: DOG;
  18.  
  19.    make is
  20.       local
  21.      array_boolean: ARRAY[BOOLEAN];
  22.      array_integer: ARRAY[INTEGER];
  23.      i: INTEGER;
  24.       do
  25.      array_boolean := <<true, false>>;
  26.      check
  27.         true = array_boolean.item(1);
  28.         false = array_boolean.item(2);
  29.      end;
  30.      i := array_boolean.index_of(false);
  31.      is_true(2 = array_boolean.index_of(false));
  32.      is_true(1 = array_boolean.index_of(true));
  33.      is_true(1 = array_boolean.fast_index_of(true));
  34.      is_true(2 = array_boolean.fast_index_of(false));
  35.  
  36.  
  37.  
  38.      array_integer := <<1,2,3>>;
  39.      is_true(array_integer.lower = 1);
  40.      is_true(array_integer.fast_index_of(2) = 2);
  41.      i := array_integer.fast_index_of(2);
  42.      check
  43.         i = 2
  44.      end
  45.       
  46.      is_true(equal(<<1,2,3>>,<<1,2,3>>));
  47.      
  48.      is_true(equal(<<'a','b','c'>>,<<'a','b','c'>>));
  49.      
  50.      array_character := <<'a','b','c'>>;
  51.      is_true(array_character.item(1) = 'a');
  52.      
  53.      !!array_character.make(1,1);
  54.      array_character.put('z',1);
  55.      is_true(array_character.item(1) = 'z');
  56.      
  57.      
  58.      is_true(equal(<<1.5,2.5,3.>>,<<1.5,2.5,3.>>));
  59.      
  60.      array_integer := <<1>>;
  61.      array_real := <<1.>>;
  62.      is_true(array_real.first = array_integer.last);
  63.       
  64.      !!cat;
  65.      array_any := <<cat,cat>>;
  66.      array_animal := <<cat,cat>>;
  67.      is_true(equal(array_any,array_animal));
  68.      
  69.      array_any.put(Void,1);
  70.      array_animal.put(Void,1);
  71.      is_true(equal(array_any,array_animal));
  72.      array_animal.put(cat,1);
  73.      is_true(not equal(array_any,array_animal));
  74.      
  75.      !!dog;
  76.      array_any.put(dog,1);
  77.      array_animal.put(dog,1);
  78.      is_true(equal(array_any,array_animal));
  79.      
  80.      !!cat;
  81.      !!dog;
  82.      array_any := <<cat,dog>>;
  83.      array_animal := <<cat,dog>>;
  84.      is_true(equal(array_any,array_animal));
  85.      
  86.      array_quadruped := <<cat,dog>>;
  87.      is_true(equal(array_animal,array_quadruped));
  88.      is_true(equal(array_any,array_quadruped));
  89.      
  90.      array_double := <<d1,d2,d3>>;
  91.      is_true(equal(array_double,<<d1,d2,d3>>));
  92.       end;
  93.    
  94. feature {NONE}
  95.  
  96.    d1: DOUBLE is 1.5;
  97.    d2: DOUBLE is 1.7;
  98.    d3: DOUBLE is 1.8;
  99.    
  100.    is_true(b: BOOLEAN) is
  101.       do
  102.      cpt := cpt + 1;
  103.      if not b then
  104.         std_output.put_string("TEST_EVAL20: ERROR Test # ");
  105.         std_output.put_integer(cpt);
  106.         std_output.put_string("%N");
  107.      else
  108.         std_output.put_string("Yes%N");
  109.      end;
  110.       end;
  111.    
  112.    cpt: INTEGER;
  113.    
  114. end -- TEST_EVAL20
  115.